1. Field of the Invention
The present invention relates to a display measuring method and a profile generating method.
2. Description of the Related Art
Thanks to both the spread of high-end personal computers and the low prices of image input/output devices, such as scanners, color printers or the like, the opportunities for individual users to handle color images have increased. As individual users have handled color images, color reproducibility has become a major problem. Specifically, the color of the displayed image of a display, the printed image of a printer or the like cannot be reproduced to be the same as that of an original image. This is because a color development mechanism or a color characteristic, such as a color conversion image spectrum or the like varies depending on input/output devices. A color management system (hereinafter called “CMS”) is a technology for matching the color appearance between different input/output devices. By adopting a CMS, the color appearance of an image read by a scanner, that of an image displayed on a display and further that of an image outputted by a printer can be matched, thereby making the differences between the images undetectable by a user.
Today, the framework of a CMS is incorporated on an OS level as in ICM (image color matching) 1.0 of Windows95 and ColorSync2.0 of Macintosh OS. By providing a user with a device profile matched with ICM1.0 or ColorSync2.0, input/output device makers can guarantee the displayed image of a display, the printed image of a printer or the like, for which a user cannot detect an incompatibility, even if the user outputs the image using a different device. The device profiles of ICM1.0 and ColorSync2.0 conform to an ICC profile advocated by ICC (International Color Consortium). By providing a user with a profile conforming to ICC profile specifications, input/output device makers can guarantee the use in Windows and Macintosh environments of their input/output devices.
FIG. 1 shows the basic configuration of a CMS.
For example, data read from a scanner 1 is converted into common color signals that do not depend on devices (for example, CIELAB) using a scanner profile 2. By converting the common color signals into an image using a display profile 3 and by displaying the image, the color appearance of a manuscript inputted by the scanner 1 and that of a displayed image can be matched. The profile stores both information for converting signals peculiar to the device (for example, RGB values) into common color signals and information for converting the common color signals into the signals peculiar to the device (that is, a profile provided for each device).
Similarly, images generated by the scanner 1 or a display 4 are converted into common color signals (L*a*b* signals) by the scanner profile 2 or display profile 3. Then, the common color signals are converted into CMY (K) signals by a printer profile 5 and are outputted from a printer 6.
To perform high-accuracy color matching, the accuracy of a profile that stores the display characteristic of a display must be improved. To achieve this, a display measurement must be conducted without an error.
FIG. 2 shows the structure of an ICC profile.
In the ICC profile, all pieces of necessary data are described using tags. The ICC profile is composed of three parts: a profile header (128 bytes, fixed length) for representing both information about the profile itself and target equipment, a tag table for representing the types of information and the storage place and tagged element data for storing actual information. Information for representing the equipment property of an input/output device is stored in the tagged element data.
There are two types of profiles in an ICC profile: a matrix profile used mainly for a display profile and an LUT profile used for a printer profile.
The matrix profile uses the color additive-mixture characteristic of an input/output device. Color additive-mixture means that a color C(r, g, b) composed of specific RGB values r, g and b can be expressed by the sum of a color R(r, 0, 0) composed of only r, a color G (0, g, 0) composed of only g and a color B (0, 0, b) composed of only b.C(r, g, b)≡R(r, 0, 0)+G(0, g, 0)+B(0, 0, b)
The matrix profile stores both the measurement values of maximum red, green and blue and color tone characteristics of red, green and blue. A color tone characteristic is a relationship between input and output values and is also called a γ characteristic. In this description, a color tone value means the output value of a color tone characteristic against a specific input value. Color tone data means the aggregate of color tone values against input 0 (minimum) to 1 (maximum). By utilizing this characteristic, for example, the CIEXYZ values of an arbitrary color C(r, g, b) can be calculated according to the following equation, if it is assumed that an RGB value is 8 bits, that the output values (CIEXYZ values) of maximum red (255, 0, 0), maximum green (0, 255, 0) and maximum blue (0, 0, 255) are (X(255, 0, 0), Y(255, 0, 0), Z(255, 0, 0)), (X(0, 255, 0), Y(0, 255, 0), Z(0, 255, 0)) and (X(0, 0, 255), Y(0, 0, 255), Z(0, 0, 255)), respectively, and that the color tone characteristics of red, green and blue are fR(r),fG(g) and fB(b), respectively.
      (                                        X                          (                              r                ,                                                                  ⁢                g                ,                                                                  ⁢                b                            )                                                                        Y                          (                              r                ,                                                                  ⁢                g                ,                                                                  ⁢                b                            )                                                                        Z                          (                              r                ,                                                                  ⁢                g                ,                                                                  ⁢                b                            )                                            )    =            (                                                  X                              (                                  255                  ,                                                                          ⁢                  0                  ,                                                                          ⁢                  0                                )                                                                        X                              (                                  0                  ,                                                                          ⁢                  255                  ,                                                                          ⁢                  0                                )                                                                        X                              (                                  0                  ,                                                                          ⁢                  0                  ,                                                                          ⁢                  255                                )                                                                                        Y                              (                                  255                  ,                                                                          ⁢                  0                  ,                                                                          ⁢                  0                                )                                                                        Y                              (                                  0                  ,                                                                          ⁢                  255                  ,                                                                          ⁢                  0                                )                                                                        Y                              (                                  0                  ,                                                                          ⁢                  0                  ,                                                                          ⁢                  255                                )                                                                                        Z                              (                                  255                  ,                                                                          ⁢                  0                  ,                                                                          ⁢                  0                                )                                                                        Z                              (                                  0                  ,                                                                          ⁢                  255                  ,                                                                          ⁢                  0                                )                                                                        Z                              (                                  0                  ,                                                                          ⁢                  0                  ,                                                                          ⁢                  255                                )                                                        )        ⁢          (                                                  fR              ⁡                              (                r                )                                                                                        fG              ⁡                              (                g                )                                                                                        fB              ⁡                              (                b                )                                                        )      
A matrix profile is used to calculate a relationship between input and output according to the above equation. Therefore, the profile stores the reference CIEXYZ value ((X(255, 255, 255), Y(255, 255, 255), Z(255, 255, 255)) of white, the values X(255, 0, 0), Y(255, 0, 0), Z(255, 0, 0)), (X(0, 255, 0), Y(0, 255, 0), Z(0, 255, 0)) and (X(0, 0, 255), Y(0, 0, 255), Z(0, 0, 255)) of red, green and blue, respectively, and the color tone characteristics fR(r), fG (g) and fB (b) of red, green and blue, respectively (see FIG. 3). Since a matrix profile assumes that the above equation holds true, high accuracy can be obtained in the case of a device with both a high color additive-mixture and a high degree to which a color tone characteristic can be approximated by a relation f (approximation characteristic) (for example, a CRT). However, only low accuracy can be obtained in the case of the other devices (for example, a printer or the like). Even displays have different color additive-mixture characteristics and the approximation characteristics of a color tone characteristic vary depending on their types and models. Generally speaking, a CRT has high color additive-mixture and approximation characteristics, and an LCD or PDP has lower color additive-mixture and approximation characteristics than a CRT.
An LUT profile stores an LUT (look-up table) for converting an input value into an output value. The profile divides the space of an input value (for example, RGB values) into n×n×n grid data, and stores the output values of the grid points (CIELAB) as data. Similarly, an LUT for inverse conversion divides the space of an output value into m×m×m grid data and stores these input values as data. These division numbers n and m are called a “number of grids” or “grid”. The numbers of grids n and m are usually 9, 17 and 33, which are all “prime numbers of 8 bits (256)+1”. An ICC profile stores an LUT using 8-bit or 16-bit values. Since an ICC profile stores all correspondences between input and output using an LUT, an ICC profile has a greater size than a matrix profile.
The color-matching module (CMM) of a CMS converts color using an LUT. If an input value is on a grid, the CMM calculates an LUT value. If an input value is not on a grid, the CMM calculates an output value by interpolating a value in the neighborhood. The correspondence between input and output is 1 to 1, and is common to all devices. The LUT profile is not limited to use in a display and can be used in all color input/output devices.
To generate a display profile with high-accuracy, the following problems must be solved.
1. Color Stability Immediately After Display
In the case of a display, displayed color is in a transient state for a period immediately after display and then shifts to a static state. Since a measurement value in a transient state is a peculiar value, which is not the characteristic value of a display, measurement must be conducted in a static state.
2. Afterimage of Displayed Color
If another color is displayed after a specific color is displayed, sometimes the previous color affects a subsequent color. The influence of the previous color causes an error between a measurement value and the characteristic of a display.
3. Stability at the Time of the Start of a Display
Color on a display is in a transient state for a period immediately after the power of the display is switched on and enters a static state after several minutes to several tens of minutes. FIG. 4 shows the fluctuation characteristics of display luminance after the power is switched on. FIG. 4 shows an example of the luminance fluctuations immediately after the power of a CRT is switched on and which are shown in an international regulation draft IEC-61966-3, which the IEC (International Electro-technical Commission) is currently working on. The display measurement must be conducted in a static state. The period required for color to enter a static state (time constant) varies depending on the models and types of displays.
4. Display in which Display Luminance Fluctuates
Some models of displays change the amount of power applied to the displays depending on color or areas to be displayed in order to suppress power consumption. FIG. 5 is a graph for showing an example of a relationship between a display area and luminance. If such a display is measured without any correction, sometimes the measurement value of blue becomes brighter than that of white. Since the measurement of a display characteristic must always be conducted under the same conditions, an accurate profile cannot be generated from such a measurement result.
5. Measurement Error
A user must always monitor measurement situations so that an unexpected error cannot occur, for example, so that a measuring instrument does not malfunction during measurement or so that extraneous light is not measured.
6. Information Amount of a Matrix Profile
A matrix profile stores the color tone data of R, G, B or the like. The greater the number of color tones, the more accurate a profile becomes. However, the size of a profile increases in proportion to the number. The necessary information amount in a profile varies depending on the display.
7. Number of Tone Reproduction Characteristic Measurements
A matrix profile stores the color tone data of R, G. B or the like. In proportion to the number of color tones to be stored, the number of measurements increases and the period required to generate a profile increases.
8. Accuracy of the Information of a Profile
In a profile regulated by ICC, measurement values are stored as a ratio to white. As a result, even measurement values with different display luminance are stored as the same color if their ratios to white are the same. However, as known by the Betzolt-Brücke phenomenon or the like, color appearance changes as light intensity increases. It is known that human beings recognize such colors to be different. Since the color appearance of a specific color with a specific relative measurement value against white varies depending on light intensity, high-accuracy color matching cannot be expected.
9. Problems with Both Display Setting and Profile Generation
The color temperature and γ characteristic of some current displays and display cards can be changed. With such a model, a user can set the color temperature and γ characteristic. Since the display characteristic of a display varies depending on the color temperature setting and γ characteristic setting, a profile must be generated for each setting.
10. Number of Grids of an LUT Profile
An LUT profile stores the grid data of R, G, B or the like as a look-up table (LUT). The larger the number of grids, the more accurate a profile becomes. However, a profile size increases in proportion to the number. The necessary information amount in a profile varies depending on the display.
11. Number of Grid Data Measurements
An LUT profile stores the LUTs of R, G, B or the like. In proportion to the number of grids to be stored, the number of measurements increases and thereby the period required to generate a profile increases. Since a matrix profile stores color tone data, it is sufficient for a matrix profile to measure at most 759 colors (256 color tones for each of R, G and B and one white color (255, 255, 255)). Whereas, an LUT profile must measure at most 16,770,000 colors (256×256×256 colors). Even an LUT with 10 grids must measure 1,000 colors. To generate a profile with high accuracy by using many grids, a huge amount of measurements must be conducted.
12. Selection of a Profile Type
There are two types of profiles: a matrix profile for storing both color tone values and the color information of R, G and B and an LUT profile for storing tables for color conversion. Although the accuracy of a matrix profile is low except for a model in which the display characteristic of a display is pre-determined, the file size is very small (approximately 1 kB). Whereas, although the file size of an LUT profile is large (50 kB to 300 kB), the LUT profile can be used for any display (LCD and PDP display devices or the like). The profile, which should be used, varies depending on the types and models of displays.
13. Confirmation of Profile Accuracy
Even if a profile is generated, a user cannot confirm the adequacy of the profile on the spot.